package com.itheima.d12_api_integer;

/*
    包装类
        包装类就是把基本类型的数据包装成对象。

    自动装箱：基本数据类型可以自动转换为包装类型。
    自动拆箱：包装类型可以自动转换为基本数据类型。

    包装类的其他常见操作
        可以把基本类型的数据转换成字符串类型。
        public static String toString(double d)
        public String toString()

        可以把字符串类型的数值转换成数值本身对应的数据类型。
        public static int parseInt(String s)
        public static Integer valueOf(String s)
 */
public class Test {
    public static void main(String[] args) {
//        //创建String类型对象
//        String str = "黑马";
//
//        //包装类创建对象
//        Integer num = 100; //自动装箱   在编译后： Integer num = Integer.valueOf(100)
//        num = num + 10; //先进行自动拆箱，再进行自动装箱     编译后： num = Integer.valueOf(num.intValue()+10)
//                        //自动拆箱：  num.intValue()   取int类型数据值
//                        // 进行运算：    100+10
//                        //自动装箱：  Integer.valueOf(110)
//        System.out.println(num);


        //包装类的核心作用： 实现字符串类型数据转换为基础类型数据
        String str = "123";//数字格式的字符串
        String str2 = "3.14";//小数格式的字符串

        //把字符串格式的数值，转换为基本类型数据
        int num1 = Integer.parseInt(str);//必须是纯数字格式字符串
        double num2 = Double.parseDouble(str2);
        boolean flag = Boolean.parseBoolean("true");
        System.out.println(num1);
        System.out.println(num2);
        System.out.println(flag);
        //特殊的操作： String -> char      char  charAt(int index)
        //Character.parseChar();//没有这个方法

        //基本类型数据转换为字符串数据
        //最简单的方式：  +""      任何数据和字符串相加的结果，都是String类型
        int a = 10;
        String s1 = a + "";
        double b = 123.56;
        String s2 = b + "";
    }
}
